home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / a_man / cat1 / atmsigd.z / atmsigd
Encoding:
Text File  |  2002-10-03  |  19.8 KB  |  397 lines

  1.  
  2.  
  3.  
  4. aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))                                                        aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      atmsigd - signalling daemon for ATM switched virtual circuits
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ////uuuussssrrrr////eeeettttcccc////aaaattttmmmmssssiiiiggggdddd [ ----dddd ]
  13.  
  14.  
  15. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.      The aaaattttmmmmssssiiiiggggdddd is a daemon which works in conjunction with the atm driver to
  17.      set up and tear down switched virtual circuits over ATM. The daemon can
  18.      be configured to support the signalling protocol as defined in either
  19.      version 3.0 or 3.1 of the ATM Forum's User-Network Interface (UNI)
  20.      specification.
  21.  
  22.      The only command line option for aaaattttmmmmssssiiiiggggdddd is:
  23.  
  24.      ----dddd   which runs it in daemon mode, i.e. as a background process without
  25.           standard input or output, logging only critical errors to
  26.           /usr/adm/SYSLOG. Without the ----dddd option, aaaattttmmmmssssiiiiggggdddd runs in interactive
  27.           mode, with a higher (controllable) level of verbosity. Typically
  28.           aaaattttmmmmssssiiiiggggdddd is invoked at system boot from /etc/init.d/atm in daemon
  29.           mode.
  30.  
  31.      When run in interactive mode (without the ----dddd option), the aaaattttmmmmssssiiiiggggdddd takes
  32.      its commands, phrased in TCL syntax, from stdin. When running in daemon
  33.      mode, there is no standard input, and the daemon reads the file
  34.      /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l instead, so all configuration commands for the
  35.      daemon should be placed in that file. In interactive mode, the aaaattttmmmmssssiiiiggggdddd
  36.      does not automatically read that file, but will do so if it receives the
  37.      command "source /var/atm/atmsigd.tcl" from stdin.
  38.  
  39.      Running the aaaattttmmmmssssiiiiggggdddd in interactive mode is helpful when debugging but
  40.      should rarely be required. If you need to do so, proceed with extreme
  41.      caution. In order to run the aaaattttmmmmssssiiiiggggdddd in interactive mode, you first need
  42.      to kill the daemon-mode aaaattttmmmmssssiiiiggggdddd that was started at boot time by
  43.      /etc/init.d/atm. But before you issue the command to "killall atmsigd",
  44.      make sure that all applications using SVCs are first killed. Also make
  45.      sure that all IP ATM network interfaces using SVCs are ifconfig-ed down
  46.      first. To start up a new aaaattttmmmmssssiiiiggggdddd in interactive mode, invoke the command
  47.      /_u_s_r/_e_t_c/_a_t_m_s_i_g_d.  You will see a %%%% prompt on your screen, which is your
  48.      cue to enter commands to the aaaattttmmmmssssiiiiggggdddd. If you want it to execute the usual
  49.      commands, type _s_o_u_r_c_e /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l at the prompt. Then continue
  50.      with any other special commands you may have.  Once the signalling stacks
  51.      are built, you can restart any applications using SVCs as well as
  52.      _i_f_c_o_n_f_i_g up all the IP network interfaces that you took down earlier.
  53.  
  54.      If you just want to turn on tracing in the aaaattttmmmmssssiiiiggggdddd, and don't want to
  55.      have to kill and restart the aaaattttmmmmssssiiiiggggdddd by hand, you can do so by adding
  56.      verbosity commands (described below) to the command file
  57.      /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l and changing the startup script. Make sure that the
  58.      verbosity commands are added _a_f_t_e_r the build commands as they must apply
  59.      to existing layers. After you have edited the atmsigd.tcl command file,
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))                                                        aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
  71.  
  72.  
  73.  
  74.      change the line in /etc/init.d/atm that reads
  75.          /usr/etc/atmsigd -d
  76.      so that it runs non-daemon mode, _i_n _t_h_e _b_a_c_k_g_r_o_u_n_d, with output
  77.      redirected to a suitable tracefile. For example:
  78.          echo 'source /var/atm/atmsigd.tcl' | /usr/etc/atmsigd \
  79.                > /usr/tmp/sigd.trace &
  80.      Make very sure that the final '&' background character is present because
  81.      running in the foreground will hang everything after it in the boot
  82.      process.  This can generate a fair amount of output as well as slow down
  83.      signalling, so should not be left turned on permanently. Note that if
  84.      verbosity commands are left in the tcl file, but the aaaattttmmmmssssiiiiggggdddd is run in
  85.      daemon-mode, there is no stdout and hence no output, but the tracing
  86.      overhead is still there, so it is recommended that the verbosity commands
  87.      be removed when not needed.
  88.  
  89.      The aaaattttmmmmssssiiiiggggdddd has a number of internal modules:
  90.  
  91.      _a_a_l_5_a_t_m   This is the layer that deals with sending and receiving AAL5
  92.                frames on the signalling channel for that UNI. The ATM Forum
  93.                has defined VPI 0, VCI 5 as the standard signalling channel.
  94.  
  95.      _q_s_a_a_l     This module enforces the _S_e_r_v_i_c_e _S_p_e_c_i_f_i_c _C_o_n_n_e_c_t_i_o_n _O_r_i_e_n_t_e_d
  96.                _P_r_o_t_o_c_o_l (SSCOP) specification. SSCOP is a reliable
  97.                connection-oriented protocol which includes retransmission of
  98.                messages that are not acknowledged. This layer can be
  99.                configured, see _b_u_i_l_d TCL commands below, to run supporting
  100.                either the UNI 3.0 referenced version of the specification,
  101.                i.e. ITU Documents DT/11/3-28 (Q.SAAL1), DT/11/3-XX (Q.SAAL2),
  102.                May 17 1993, or the UNI 3.1 referenced version, i.e. ITU-T
  103.                Recommendation Q.2110.
  104.  
  105.      _q_9_3_b      This layer handles the actual signalling protocol as defined by
  106.                ATM Forum UNI version 3.0 or 3.1.
  107.  
  108.      _h_c_c       This Host Call Control module is the interface to the atm
  109.                driver for requests on call setup and teardown. For instance,
  110.                when a user application issues a call setup request to the atm
  111.                driver, this request is forwarded to the hcc module, which
  112.                later notifies the driver once the call is completed (or
  113.                rejected).
  114.  
  115.      Configuration commands define stack(s) of these 4 layers to be built by
  116.      aaaattttmmmmssssiiiiggggdddd. The aaaattttmmmmssssiiiiggggdddd should be instructed to build an aal5-qsaal-q93b
  117.      stack, identified by a unique stackid, for each port on the system. After
  118.      all the stacks are built, it should be given the command to build a
  119.      single hcc layer over all the stacks. Stacks must be built from bottom up
  120.      (i.e. starting from the aal5 layer).
  121.  
  122.      Besides the standard TCL library commands, aaaattttmmmmssssiiiiggggdddd understands the
  123.      following application-specific ones:
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))                                                        aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
  137.  
  138.  
  139.  
  140.      _B_U_I_L_D _C_O_M_M_A_N_D_S
  141.  
  142.      These commands are used for building module stacks to run over specific
  143.      ATM ports. The general syntax is _b_u_i_l_d <_l_a_y_e_r> <_a_r_g_l_i_s_t>, where <arglist>
  144.      is dependent on <layer>. Specifically,
  145.  
  146.  
  147.      bbbbuuuuiiiilllldddd aaaaaaaallll5555aaaattttmmmm <ssssttttaaaacccckkkkiiiidddd> <ddddeeeevvvviiiicccceeee nnnnaaaammmmeeee> <VVVVPPPPIIII> <VVVVCCCCIIII>
  148.  
  149.      e.g. build aal5atm 1 /hw/atm/0 0 5
  150.  
  151.      where
  152.  
  153.      <_s_t_a_c_k_i_d>      some non-zero stack identifier
  154.  
  155.      <_d_e_v_i_c_e _n_a_m_e>  the device name of the ATM port to open
  156.  
  157.      <_V_P_I>          the Virtual Path Identifier to use for signalling messages
  158.  
  159.      <_V_C_I>          the Virtual Channel Identifier to use for signalling
  160.                     messages
  161.  
  162.      bbbbuuuuiiiilllldddd qqqqssssaaaaaaaallll <vvvveeeerrrrssssiiiioooonnnn> <ssssttttaaaacccckkkkiiiidddd>
  163.  
  164.      e.g. build qsaal AF30 1
  165.  
  166.      where
  167.  
  168.      <_v_e_r_s_i_o_n>      one of _A_F_3_0 or _A_F_3_1 for the ATM Forum's UNI 3.0 or UNI 3.1
  169.                     specification of the qsaal layer. Note that the 2 are not
  170.                     compatible as most implementations of 3.0 start sequence
  171.                     numbering at 0, whereas 3.1 requires the numbering to
  172.                     start with 1. If the port is attached to a switch running
  173.                     UNI 3.0 software, set this to _A_F_3_0. Otherwise, use _A_F_3_1.
  174.  
  175.      <_s_t_a_c_k_i_d>      a non-zero stack identifier. This should be the same as
  176.                     the stackid used in the _b_u_i_l_d _a_a_l_5_a_t_m command for the
  177.                     underlying aal5 layer for this port.
  178.  
  179.      bbbbuuuuiiiilllldddd qqqq99993333bbbb <vvvveeeerrrrssssiiiioooonnnn> <ssssttttaaaacccckkkkiiiidddd>
  180.  
  181.      e.g. build q93b AF31 1
  182.  
  183.      where
  184.  
  185.      <_v_e_r_s_i_o_n>      one of _A_F_3_0 or _A_F_3_1 for the ATM Forum's UNI 3.0 or UNI 3.1
  186.                     specification of the q93b layer.
  187.  
  188.      <_s_t_a_c_k_i_d>      a non-zero stack identifier. This should be the same as
  189.                     the stackid used in the _b_u_i_l_d _a_a_l_5_a_t_m and  _b_u_i_l_d _q_s_a_a_l
  190.                     commands for the underlying layers on this port.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))                                                        aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
  203.  
  204.  
  205.  
  206.      bbbbuuuuiiiilllldddd hhhhcccccccc
  207.  
  208.      with no further arguments. This command must be issued _a_f_t_e_r all the
  209.      underlying stacks are completely built. Hcc will not know about any
  210.      stacks built after its own existence.
  211.  
  212.      bbbbuuuuiiiilllldddd ssssttttaaaattttuuuussss
  213.  
  214.      This command causes aaaattttmmmmssssiiiiggggdddd to display the currently built stacks. Note
  215.      that, because the build display goes to standard output, this command is
  216.      a no-op if placed in a TCL script sourced by the aaaattttmmmmssssiiiiggggdddd running in
  217.      daemon mode.
  218.  
  219.      For convenience, a buildstack procedure is defined in the TCL script
  220.      /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l installed with aaaattttmmmmssssiiiiggggdddd:
  221.  
  222.         proc buildstack { stackID devname qsaalVersion q93bVersion } {
  223.           build aal5atm $stackID $devname 0 5
  224.           build qsaal $qsaalVersion $stackID
  225.           build q93b $q93bVersion $stackID
  226.         }
  227.  
  228.      This procedure can be invoked, for instance, as follows:
  229.         buildstack 1 /hw/atm/0 AF30 AF30
  230.         buildstack 2 /hw/atm/1 AF30 AF31
  231.         buildstack 3 /hw/atm/2 AF31 AF31
  232.         build hcc
  233.      which will cause 3 stacks to be built. On the interface atm0, aaaattttmmmmssssiiiiggggdddd
  234.      will run 3.0 versions of qsaal and q93b, over atm1 it will run the 3.0
  235.      version of qsaal and 3.1 version of q93b, and atm2 will have UNI 3.1
  236.      versions of both. When all 3 stacks are built, the hcc layer is built to
  237.      run over all of them.
  238.  
  239.      If for any reason you need to run signalling over some VPI/VCI pair other
  240.      than 0/5, avoid using the buildstack procedure for that stack and
  241.      instead, expressly issue the command to build each layer. For example in
  242.      the above example, if the port on /hw/atm/2 is attached to a switch that
  243.      expects signalling on VPI=2,VCI=5, then you would replace the call to
  244.           buildstack 3 /hw/atm/2 AF31 AF31
  245.      with the lines
  246.           build aal5atm 3 /hw/atm/2 2 5
  247.           build qsaal AF31 3
  248.           build q93b AF31 3
  249.  
  250.      _V_E_R_B_O_S_I_T_Y-_C_O_N_T_R_O_L _C_O_M_M_A_N_D_S
  251.  
  252.      These control the level of output generated by aaaattttmmmmssssiiiiggggdddd when running in
  253.      interactive mode. When running in daemon mode (with the ----dddd option),
  254.      aaaattttmmmmssssiiiiggggdddd does not generate any output at all, except for critical error
  255.      messages logged with syslogd (i.e. check /usr/adm/SYSLOG).  So verbosity
  256.      is only useful if running the atmsigd in interactive mode.  Print levels
  257.      settable with the verbosity-control commands are
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))                                                        aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
  269.  
  270.  
  271.  
  272.      1 ERROR messages only
  273.  
  274.      2 TERSE informational messages
  275.  
  276.      3 VERBOSE informational messages, pretty much every PDU sent and received.
  277.  
  278.      (Warning: VERBOSE in the qsaal layer traces every poll message and there
  279.      are lots of these.)
  280.  
  281.      Verbosity can be independently controlled for each stack module. The
  282.      module must exist before its verbosity level can be set i.e. the _b_u_i_l_d
  283.      command for a module must preceded its verbosity-setting command, The
  284.      default verbosity-level is 1 (ERROR). To raise these levels, use one of
  285.      the following commands:
  286.  
  287.         hhhhcccccccc ppppllll <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
  288.  
  289.         qqqq99993333bbbb ppppllll <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
  290.  
  291.         qqqqssssaaaaaaaallll ppppllll <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
  292.  
  293.         aaaaaaaallll5555 ppppllll <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>>
  294.  
  295.      If running in interactive mode, stdout should be redirected to some
  296.      appropriate disk file as output can be fairly heavy.  This mode should
  297.      only be used if needed to debug cause of failure of connection setups.
  298.  
  299.      _O_T_H_E_R _C_O_N_T_R_O_L _C_O_M_M_A_N_D_S
  300.  
  301.      These are listed here for completeness but are not recommended for
  302.      general use.
  303.  
  304.      The aaaattttmmmmssssiiiiggggdddd also has a manager module in it, through which it is possible
  305.      to issue commands to clear or restart specific VCs or even the entire
  306.      interface. These commands are:
  307.  
  308.         mmmmnnnnggggrrrr cccclllleeeeaaaarrrr <<<<ssssttttaaaacccckkkkiiiidddd>>>> <<<<vvvvppppiiii>>>> <<<<vvvvcccciiii>>>>
  309.         clear a particular VC.
  310.  
  311.         mmmmnnnnggggrrrr rrrreeeessssttttaaaarrrrtttt <<<<ssssttttaaaacccckkkkiiiidddd>>>>
  312.         restart the entire interface (this tears down all existing VCs).
  313.  
  314.         mmmmnnnnggggrrrr ppppllll <<<<pppprrrriiiinnnnttttlllleeeevvvveeeellll>>>> set verbosity level for the manager module
  315.  
  316.      The qsaal layer has a number of tweakable parameters, and these should
  317.      only be changed with extreme caution and a good understanding of the
  318.      SSCOP protocol. Qsaal layer commands include:
  319.  
  320.         qqqqssssaaaaaaaallll eeeesssstttt <<<<ssssttttaaaacccckkkkiiiidddd>>>>
  321.         initiate SSCOP connection to switch
  322.  
  323.         qqqqssssaaaaaaaallll rrrreeeellll <<<<ssssttttaaaacccckkkkiiiidddd>>>>
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))                                                        aaaattttmmmmssssiiiiggggdddd((((1111MMMM))))
  335.  
  336.  
  337.  
  338.         tear down SSCOP connection to switch
  339.  
  340.         qqqqssssaaaaaaaallll ccccrrrreeeeddddiiiitttt <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<++++////----nnnnuuuummmmbbbbeeeerrrr>>>>
  341.  
  342.         qqqqssssaaaaaaaallll cccccccc----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
  343.  
  344.         qqqqssssaaaaaaaallll ppppoooollllllll----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
  345.  
  346.         qqqqssssaaaaaaaallll kkkkeeeeeeeeppppaaaalllliiiivvvveeee----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
  347.  
  348.         qqqqssssaaaaaaaallll nnnnoooorrrreeeesssspppp----iiiinnnntttteeeerrrrvvvvaaaallll <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<sssseeeeccccssss>>>> <<<<uuuusssseeeeccccssss>>>>
  349.  
  350.         qqqqssssaaaaaaaallll ssssttttaaaatttt----lllleeeennnnggggtttthhhh <<<<ssssttttaaaacccckkkk----iiiidddd>>>> <<<<lllleeeennnnggggtttthhhh>>>>
  351.  
  352.      _G_E_N_E_R_A_L _T_C_L _C_O_M_M_A_N_D_S
  353.  
  354.      A couple of useful ones are:
  355.  
  356.      eeeexxxxiiiitttt
  357.  
  358.      Ask aaaattttmmmmssssiiiiggggdddd to terminate.
  359.  
  360.      ssssoooouuuurrrrcccceeee <<<<ffffiiiilllleeeennnnaaaammmmeeee>>>>
  361.  
  362.      If running the aaaattttmmmmssssiiiiggggdddd in interactive mode, to avoid having to enter all
  363.      the usual stackbuilding commands, just use _s_o_u_r_c_e /_v_a_r/_a_t_m/_a_t_m_s_i_g_d._t_c_l.
  364.  
  365. FFFFIIIILLLLEEEESSSS
  366.      /usr/etc/atmsigd
  367.      /var/atm/atmsigd.tcl
  368.  
  369. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  370.      atm(7M), if_atm(7M), atmilmid(1M), atmconfig(1M), atmstat(1M),
  371.      ifatmconfig(1M)
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.